package com.panfeng.xcloud.boss.provider.assets.dto.request;

import com.panfeng.xcloud.common.core.page.PageRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel(value = "查询对冲仓相关交易记录请求")
public class QueryOffsetTransFlowPageReqDTO extends PageRequest {

    @ApiModelProperty("id")
    private Integer id;

    @ApiModelProperty("本系统内流水号")
    private String flowOrderId;

    @ApiModelProperty("交易所内订单id")
    private String exchangeOrderId;

    @ApiModelProperty("交易对目标币种")
    private String destinationCoin;

    @ApiModelProperty("交易对源币种")
    private String sourceCoin;

    @ApiModelProperty("用户id")
    private String userId;

    @ApiModelProperty("多空方向(buy:多单 sell:空单)")
    private String direction;

    @ApiModelProperty("杠杆倍数")
    private Integer leverRate;

    @ApiModelProperty("交易所类型(0.okex 1.huobi 2.binance)")
    private Integer exchangeType;

    @ApiModelProperty("下单数量,上限")
    private BigDecimal amountMax;

    @ApiModelProperty("下单数量,下限")
    private BigDecimal amountMin;

    @ApiModelProperty("下单限价,上限")
    private String priceMax;

    @ApiModelProperty("下单限价,下限")
    private String priceMin;

    @ApiModelProperty("成交数量,上限")
    private BigDecimal completeAmountMax;

    @ApiModelProperty("成交数量,下限")
    private BigDecimal completeAmountMin;

    @ApiModelProperty("成交金额,上限")
    private BigDecimal completeMoneyMax;

    @ApiModelProperty("成交金额,下限")
    private BigDecimal completeMoneyMin;

    @ApiModelProperty("成交均价,上限")
    private BigDecimal completeAvePriceMax;

    @ApiModelProperty("成交均价,下限")
    private BigDecimal completeAvePriceMin;

    @ApiModelProperty("手续费,上限")
    private BigDecimal feeMax;

    @ApiModelProperty("手续费,下限")
    private BigDecimal feeMin;

    @ApiModelProperty("0买入 1.卖出")
    private Integer transType;

    @ApiModelProperty("补仓次数,上限")
    private Integer coverNumMax;

    @ApiModelProperty("补仓次数,下限")
    private Integer coverNumMin;

    @ApiModelProperty("盈利,上限")
    private BigDecimal profitMax;

    @ApiModelProperty("盈利,下限")
    private BigDecimal profitMin;

    @ApiModelProperty("备注")
    private String note;

    @ApiModelProperty("创建时间,起始时间")
    private Date createTimeStart;

    @ApiModelProperty("创建时间,截止时间")
    private Date createTimeEnd;

    @ApiModelProperty("更新时间,起始时间")
    private Date modifyTimeStart;

    @ApiModelProperty("更新时间,截止时间")
    private Date modifyTimeEnd;

    @ApiModelProperty("排序属性 1:下单数量 2:下单限价 3:成交数量 4:成交金额 5:成交均价 6:手续费 7:补仓次数 8:盈利 9:创建时间 10:更新时间")
    private String sortAttribute;

    @ApiModelProperty("排序类型 升序:ascend 降序:descend")
    private String sortType;

}
